An automatic machine is a complex multi-purpose mechanism consisting of many operating heads directly acting on products.
To obtain a good behavior of the machine, it is very important a correct coordination among every part of it.
In the early days of automatism, first mechanisms were coordinated in a mechanical way, i.e. via a main cam, connected to the main shaft and creating a trajectory that was the physical reference for the other elements of the mechanism.
Nowadays, thanks to the evolving of electric motors, power electronics and digital control and communications, the way these elements are controlled has deeply changed.
The architecture is shown in the annex FIG. 1.
As it can be seen, the motion control system of an automatic machine is a distributed system.
It is composed by digital units, called nodes, exchanging information with other units through a shared communication bus.
In particular, there are one master node M, i.e. the central unit, and many other slave nodes Si, linked with the electro-mechanical axes that have to be controlled.
Every digital node of the system executes a time-driven algorithm repeatedly triggered by its own internal clock, which is characterized by a nominal time interval (the so-called “cycle time”).
In general, in modern complex systems, each digital node can execute different algorithms, “tasks”, at the same time (multitask systems), each one characterized by its own cycle time. For this kind of systems the generalization of the communication and synchronization problem considered in the following is straightforward. Instead of the communication between Master and Slave nodes, the communication between a particular task in the Master and a particular task in the Slave should be considered.
Let ΔT and Δti be the cycle times of the master and of the i-th slave respectively. Usually, they are designed to be equal or synchronized with a fixed integer ratio. Indeed, if no active synchronization is provided by the network system, this “design assumption” is not realistic, since each node clock is affected by inaccuracy, drift and jitter.
The main purpose of the master is the coordination of all the axes, usually obtained providing the slave nodes with velocity or position references to track for the actuators.
At run-time, every reference is sampled with a sampling time equal to the period of the cycle time of the master.
Then every sample is sent to the slave via a digital bus and collected by the slave with a sampling time equal to the slave cycle time.
It is important to note that not only the value of the sample is relevant, but also the corresponding time instant, even if this information it is not directly provided with the data item.
Moreover, the exchanging mode of such information depends on the implementation of the communication system, i.e. the bus protocol.
Anyway, whatever the adopted protocol is, if the master broadcasts a data the slave will get it with a variable time delay. So, it is possible to define the difference between the longer and the shorter delay as the jitter of the system. Finally, the transmission delay can increase owing to problems like data collision or traffic congestion on the network.
The aim of the present invention is therefore to provide an exchanging information method for overcoming the above-mentioned drawbacks.
Especially, the scope of the present invention is to solve the communication and synchronization transmission problems in a distributed system as above described.